-
Notifications
You must be signed in to change notification settings - Fork 6.8k
[BUGFIX] Fix for MKL symbol name clashing issue (#18855). #19241
Conversation
Hey @akarbown , Thanks for submitting the PR
CI supported jobs: [windows-gpu, clang, unix-cpu, centos-cpu, unix-gpu, edge, miscellaneous, windows-cpu, sanity, centos-gpu, website] Note: |
@mxnet-bot run ci [unix-cpu] |
Jenkins CI successfully triggered : [unix-cpu] |
7e5c9b8
to
97056a4
Compare
@mxnet-bot run ci [unix-cpu] |
Jenkins CI successfully triggered : [unix-cpu] |
@mxnet-bot run ci [centos-gpu, windows-gpu] |
Jenkins CI successfully triggered : [centos-gpu, windows-gpu] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Requesting review of @samskalicky regarding lib_api.h
I dont think we want to exclude all symbols when building the libmxnet.so, thats why we have the version script. We need to expose some symbols in order to improve the C/C++ building flow and support external components in the future. So making this change will make it harder in the future. Whats the rationale behind switching from version script to exclude all? @leezu looks like the last change to the version script was from you that exported symbols needed for Horovod. If we make this change will it break the symbols needed for Horovod, bytePS, etc? |
@samskalicky I think you misunderstand the change. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Had a chat with @leezu and we decided that the version script can be deprecated in this PR. In the future when we want to control which symbols we expose we'll discuss a more manageable approach like directly setting attributes on teh symbols we want to expose in the code. So this change looks good to me for now. Thanks @akarbown!
Description
This change enables symbol exclusion of statically linked MKL libraries to avoid the name clashing issue #18855.
It's done for all the MXNET build types except for the Debug version to check the unit tests.
Checklist
Essentials